[INFO] cloning repository https://github.com/mattbr1ght/rust_origin_shifter_maze
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mattbr1ght/rust_origin_shifter_maze" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattbr1ght%2Frust_origin_shifter_maze", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattbr1ght%2Frust_origin_shifter_maze'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 992c941201538c3b594bf8cc91e2e986bbd33b91
[INFO] fixing mattbr1ght/rust_origin_shifter_maze against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattbr1ght%2Frust_origin_shifter_maze" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mattbr1ght/rust_origin_shifter_maze
[INFO] finished tweaking git repo https://github.com/mattbr1ght/rust_origin_shifter_maze
[INFO] tweaked toml for git repo https://github.com/mattbr1ght/rust_origin_shifter_maze written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mattbr1ght/rust_origin_shifter_maze on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mattbr1ght/rust_origin_shifter_maze already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09
[INFO] running `Command { std: "docker" "start" "8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling libc v0.2.164
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking once_cell v1.20.3
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking clap_builder v4.5.31
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking console v0.15.8
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling clap_derive v4.5.28
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking clap v4.5.31
[INFO] [stderr]     Checking rand v0.9.3
[INFO] [stderr]     Checking origin_shifter v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stdout] error[E0432]: unresolved import `rand::distributions`
[INFO] [stdout]  --> src/main.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::distributions::{Distribution, Uniform};
[INFO] [stdout]   |           ^^^^^^^^^^^^^ could not find `distributions` in `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     OPATH.push(a);
[INFO] [stdout]     |     ^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | unsafe fn dfs(a: usize) -> bool{
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     PATH[a] = true;
[INFO] [stdout]     |     ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 |     VISITED[a] = true;
[INFO] [stdout]     |     ^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |     if a == PLAYER {return true;};
[INFO] [stdout]     |             ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |         if !player_can_move(a, direction){continue;}
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:198:20
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 if VISITED[a-1] {continue;}
[INFO] [stdout]     |                    ^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:199:21
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 if !dfs(a-1) {PATH[a-1] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                     ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:199:31
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 if !dfs(a-1) {PATH[a-1] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                               ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:199:50
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 if !dfs(a-1) {PATH[a-1] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                                  ^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:202:20
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 if VISITED[a-MAP_WIDTH] {continue;}
[INFO] [stdout]     |                    ^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:202:30
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 if VISITED[a-MAP_WIDTH] {continue;}
[INFO] [stdout]     |                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:203:21
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:203:27
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                           ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:203:39
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                       ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:203:46
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:203:66
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                                                  ^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:206:20
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 if VISITED[a+1] {continue;}
[INFO] [stdout]     |                    ^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 if !dfs(a+1) {PATH[a+1] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                     ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:207:31
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 if !dfs(a+1) {PATH[a+1] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                               ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:207:50
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 if !dfs(a+1) {PATH[a+1] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                                  ^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:210:20
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 if VISITED[a+MAP_WIDTH] {continue;}
[INFO] [stdout]     |                    ^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:210:30
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 if VISITED[a+MAP_WIDTH] {continue;}
[INFO] [stdout]     |                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:211:21
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:211:27
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                           ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:211:39
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                       ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:211:46
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:211:66
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                                                  ^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     DISTANCES[a] = distance;
[INFO] [stdout]     |     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | unsafe fn distances(a: usize, distance: usize){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     DVISITED[a] = true;
[INFO] [stdout]     |     ^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |         if !player_can_move(a, direction){continue;}
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:229:20
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 if DVISITED[a-1] {continue;}
[INFO] [stdout]     |                    ^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:230:17
[INFO] [stdout]     |
[INFO] [stdout] 230 |                 distances(a-1, distance+1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:233:20
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 if DVISITED[a-MAP_WIDTH] {continue;}
[INFO] [stdout]     |                    ^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:233:31
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 if DVISITED[a-MAP_WIDTH] {continue;}
[INFO] [stdout]     |                               ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:234:17
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 distances(a-MAP_WIDTH, distance+1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:234:29
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 distances(a-MAP_WIDTH, distance+1);
[INFO] [stdout]     |                             ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:237:20
[INFO] [stdout]     |
[INFO] [stdout] 237 |                 if DVISITED[a+1] {continue;}
[INFO] [stdout]     |                    ^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 distances(a+1, distance+1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:241:20
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 if DVISITED[a+MAP_WIDTH] {continue;}
[INFO] [stdout]     |                    ^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:241:31
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 if DVISITED[a+MAP_WIDTH] {continue;}
[INFO] [stdout]     |                               ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:242:17
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 distances(a+MAP_WIDTH, distance+1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:242:29
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 distances(a+MAP_WIDTH, distance+1);
[INFO] [stdout]     |                             ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:253:23
[INFO] [stdout]     |
[INFO] [stdout] 253 |         Ok(KEY_W) => {move_player(1);},
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:249:1
[INFO] [stdout]     |
[INFO] [stdout] 249 | unsafe fn pause() {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:254:23
[INFO] [stdout]     |
[INFO] [stdout] 254 |         Ok(KEY_S) => {move_player(3);},
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:255:23
[INFO] [stdout]     |
[INFO] [stdout] 255 |         Ok(KEY_A) => {move_player(0);},
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:256:23
[INFO] [stdout]     |
[INFO] [stdout] 256 |         Ok(KEY_D) => {move_player(2);},
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:257:22
[INFO] [stdout]     |
[INFO] [stdout] 257 |         Ok(KEY_N) => ENABLE_NODE_NUMBERS = !ENABLE_NODE_NUMBERS,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:257:45
[INFO] [stdout]     |
[INFO] [stdout] 257 |         Ok(KEY_N) => ENABLE_NODE_NUMBERS = !ENABLE_NODE_NUMBERS,
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:258:22
[INFO] [stdout]     |
[INFO] [stdout] 258 |         Ok(KEY_P) => ENABLE_PATH = !ENABLE_PATH,
[INFO] [stdout]     |                      ^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:258:37
[INFO] [stdout]     |
[INFO] [stdout] 258 |         Ok(KEY_P) => ENABLE_PATH = !ENABLE_PATH,
[INFO] [stdout]     |                                     ^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:259:22
[INFO] [stdout]     |
[INFO] [stdout] 259 |         Ok(KEY_F) => ENABLE_FINISH = !ENABLE_FINISH,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:259:39
[INFO] [stdout]     |
[INFO] [stdout] 259 |         Ok(KEY_F) => ENABLE_FINISH = !ENABLE_FINISH,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:260:22
[INFO] [stdout]     |
[INFO] [stdout] 260 |         Ok(KEY_O) => ENABLE_ORIGIN = !ENABLE_ORIGIN,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:260:39
[INFO] [stdout]     |
[INFO] [stdout] 260 |         Ok(KEY_O) => ENABLE_ORIGIN = !ENABLE_ORIGIN,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:261:25
[INFO] [stdout]     |
[INFO] [stdout] 261 |         Ok(KEY_I) => if SHIFTS+1<=usize::MAX {SHIFTS+=1;},
[INFO] [stdout]     |                         ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:261:47
[INFO] [stdout]     |
[INFO] [stdout] 261 |         Ok(KEY_I) => if SHIFTS+1<=usize::MAX {SHIFTS+=1;},
[INFO] [stdout]     |                                               ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:262:25
[INFO] [stdout]     |
[INFO] [stdout] 262 |         Ok(KEY_U) => if SHIFTS-1>=1 {SHIFTS-=1;},
[INFO] [stdout]     |                         ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:262:38
[INFO] [stdout]     |
[INFO] [stdout] 262 |         Ok(KEY_U) => if SHIFTS-1>=1 {SHIFTS-=1;},
[INFO] [stdout]     |                                      ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:263:22
[INFO] [stdout]     |
[INFO] [stdout] 263 |         Ok(KEY_Z) => ENABLE_SHIFTS = !ENABLE_SHIFTS,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:263:39
[INFO] [stdout]     |
[INFO] [stdout] 263 |         Ok(KEY_Z) => ENABLE_SHIFTS = !ENABLE_SHIFTS,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:264:22
[INFO] [stdout]     |
[INFO] [stdout] 264 |         Ok(KEY_X) => SHIFT_ONLY_ON_MOVE = !SHIFT_ONLY_ON_MOVE,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:264:44
[INFO] [stdout]     |
[INFO] [stdout] 264 |         Ok(KEY_X) => SHIFT_ONLY_ON_MOVE = !SHIFT_ONLY_ON_MOVE,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:265:22
[INFO] [stdout]     |
[INFO] [stdout] 265 |         Ok(KEY_K) => ENABLE_SHADOWS = !ENABLE_SHADOWS,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:265:40
[INFO] [stdout]     |
[INFO] [stdout] 265 |         Ok(KEY_K) => ENABLE_SHADOWS = !ENABLE_SHADOWS,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 271 |     MAP_WIDTH  = width;
[INFO] [stdout]     |     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:270:1
[INFO] [stdout]     |
[INFO] [stdout] 270 | unsafe fn initialize(width: usize, height: usize) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:272:5
[INFO] [stdout]     |
[INFO] [stdout] 272 |     MAP_HEIGHT = height;
[INFO] [stdout]     |     ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 274 |     NEIGHBOURS = vec![[false; 4]; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |     ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:274:35
[INFO] [stdout]     |
[INFO] [stdout] 274 |     NEIGHBOURS = vec![[false; 4]; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                   ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:274:45
[INFO] [stdout]     |
[INFO] [stdout] 274 |     NEIGHBOURS = vec![[false; 4]; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                             ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 |     PATH       = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |     ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:275:30
[INFO] [stdout]     |
[INFO] [stdout] 275 |     PATH       = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:275:40
[INFO] [stdout]     |
[INFO] [stdout] 275 |     PATH       = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                        ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 |     VISITED    = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |     ^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:276:30
[INFO] [stdout]     |
[INFO] [stdout] 276 |     VISITED    = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:276:40
[INFO] [stdout]     |
[INFO] [stdout] 276 |     VISITED    = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                        ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 |     PLAYER = 0;
[INFO] [stdout]     |     ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 279 |     ORIGIN = MAP_WIDTH*MAP_HEIGHT-1;
[INFO] [stdout]     |     ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:279:14
[INFO] [stdout]     |
[INFO] [stdout] 279 |     ORIGIN = MAP_WIDTH*MAP_HEIGHT-1;
[INFO] [stdout]     |              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:279:24
[INFO] [stdout]     |
[INFO] [stdout] 279 |     ORIGIN = MAP_WIDTH*MAP_HEIGHT-1;
[INFO] [stdout]     |                        ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 280 |     FINISH = MAP_WIDTH*MAP_HEIGHT-1;
[INFO] [stdout]     |     ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:280:14
[INFO] [stdout]     |
[INFO] [stdout] 280 |     FINISH = MAP_WIDTH*MAP_HEIGHT-1;
[INFO] [stdout]     |              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:280:24
[INFO] [stdout]     |
[INFO] [stdout] 280 |     FINISH = MAP_WIDTH*MAP_HEIGHT-1;
[INFO] [stdout]     |                        ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     OPATH = Vec::new();
[INFO] [stdout]     |     ^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:283:5
[INFO] [stdout]     |
[INFO] [stdout] 283 |     PATH = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |     ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:283:24
[INFO] [stdout]     |
[INFO] [stdout] 283 |     PATH = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                        ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:283:34
[INFO] [stdout]     |
[INFO] [stdout] 283 |     PATH = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                  ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |     ^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:284:27
[INFO] [stdout]     |
[INFO] [stdout] 284 |     VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                           ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:284:37
[INFO] [stdout]     |
[INFO] [stdout] 284 |     VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                     ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:285:5
[INFO] [stdout]     |
[INFO] [stdout] 285 |     DVISITED = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |     ^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:285:28
[INFO] [stdout]     |
[INFO] [stdout] 285 |     DVISITED = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                            ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:285:38
[INFO] [stdout]     |
[INFO] [stdout] 285 |     DVISITED = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                      ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     DISTANCES = vec![usize::MAX; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:286:34
[INFO] [stdout]     |
[INFO] [stdout] 286 |     DISTANCES = vec![usize::MAX; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                  ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:286:44
[INFO] [stdout]     |
[INFO] [stdout] 286 |     DISTANCES = vec![usize::MAX; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                            ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 291 |     MAP = content.lines().map(|line| line.chars().collect()).collect();
[INFO] [stdout]     |     ^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:289:1
[INFO] [stdout]     |
[INFO] [stdout] 289 | unsafe fn load_maze_from_file(file_path: String){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `initialize` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:293:5
[INFO] [stdout]     |
[INFO] [stdout] 293 |     initialize((MAP[0].len()-1)/2, (MAP.len()-1)/2);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:293:17
[INFO] [stdout]     |
[INFO] [stdout] 293 |     initialize((MAP[0].len()-1)/2, (MAP.len()-1)/2);
[INFO] [stdout]     |                 ^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:293:37
[INFO] [stdout]     |
[INFO] [stdout] 293 |     initialize((MAP[0].len()-1)/2, (MAP.len()-1)/2);
[INFO] [stdout]     |                                     ^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `parse_neighbours` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:294:5
[INFO] [stdout]     |
[INFO] [stdout] 294 |     parse_neighbours();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |     for h in 0..MAP_HEIGHT {
[INFO] [stdout]     |                 ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:298:1
[INFO] [stdout]     |
[INFO] [stdout] 298 | unsafe fn parse_neighbours(){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:300:21
[INFO] [stdout]     |
[INFO] [stdout] 300 |         for w in 0..MAP_WIDTH {
[INFO] [stdout]     |                     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:301:29
[INFO] [stdout]     |
[INFO] [stdout] 301 |             let index = h * MAP_WIDTH + w;
[INFO] [stdout]     |                             ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:306:34
[INFO] [stdout]     |
[INFO] [stdout] 306 |             if maze_w - 1 > 0 && MAP[maze_h][maze_w-1] == '.' {
[INFO] [stdout]     |                                  ^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:307:17
[INFO] [stdout]     |
[INFO] [stdout] 307 |                 NEIGHBOURS[index][0] = true;
[INFO] [stdout]     |                 ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:309:34
[INFO] [stdout]     |
[INFO] [stdout] 309 |             if maze_h - 1 > 0 && MAP[maze_h-1][maze_w] == '.' {
[INFO] [stdout]     |                                  ^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:310:17
[INFO] [stdout]     |
[INFO] [stdout] 310 |                 NEIGHBOURS[index][1] = true;
[INFO] [stdout]     |                 ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:312:29
[INFO] [stdout]     |
[INFO] [stdout] 312 |             if maze_w + 1 < MAP_WIDTH*2+1 && MAP[maze_h][maze_w+1] == '.' {
[INFO] [stdout]     |                             ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:312:46
[INFO] [stdout]     |
[INFO] [stdout] 312 |             if maze_w + 1 < MAP_WIDTH*2+1 && MAP[maze_h][maze_w+1] == '.' {
[INFO] [stdout]     |                                              ^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:313:17
[INFO] [stdout]     |
[INFO] [stdout] 313 |                 NEIGHBOURS[index][2] = true;
[INFO] [stdout]     |                 ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:315:29
[INFO] [stdout]     |
[INFO] [stdout] 315 |             if maze_h + 1 > MAP_HEIGHT*2+1 && MAP[maze_h+1][maze_w] == '.' {
[INFO] [stdout]     |                             ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:315:47
[INFO] [stdout]     |
[INFO] [stdout] 315 |             if maze_h + 1 > MAP_HEIGHT*2+1 && MAP[maze_h+1][maze_w] == '.' {
[INFO] [stdout]     |                                               ^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:316:17
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 NEIGHBOURS[index][3] = true;
[INFO] [stdout]     |                 ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:323:8
[INFO] [stdout]     |
[INFO] [stdout] 323 |     if can_move(node, direction) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:322:1
[INFO] [stdout]     |
[INFO] [stdout] 322 | unsafe fn player_can_move(node: usize, direction: usize) -> bool{
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:325:25
[INFO] [stdout]     |
[INFO] [stdout] 325 |             0 => return NEIGHBOURS[node][0] || NEIGHBOURS[node-1][2],
[INFO] [stdout]     |                         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:325:48
[INFO] [stdout]     |
[INFO] [stdout] 325 |             0 => return NEIGHBOURS[node][0] || NEIGHBOURS[node-1][2],
[INFO] [stdout]     |                                                ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:326:25
[INFO] [stdout]     |
[INFO] [stdout] 326 |             1 => return NEIGHBOURS[node][1] || NEIGHBOURS[node-MAP_WIDTH][3],
[INFO] [stdout]     |                         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:326:48
[INFO] [stdout]     |
[INFO] [stdout] 326 |             1 => return NEIGHBOURS[node][1] || NEIGHBOURS[node-MAP_WIDTH][3],
[INFO] [stdout]     |                                                ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:326:64
[INFO] [stdout]     |
[INFO] [stdout] 326 |             1 => return NEIGHBOURS[node][1] || NEIGHBOURS[node-MAP_WIDTH][3],
[INFO] [stdout]     |                                                                ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:327:25
[INFO] [stdout]     |
[INFO] [stdout] 327 |             2 => return NEIGHBOURS[node][2] || NEIGHBOURS[node+1][0],
[INFO] [stdout]     |                         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:327:48
[INFO] [stdout]     |
[INFO] [stdout] 327 |             2 => return NEIGHBOURS[node][2] || NEIGHBOURS[node+1][0],
[INFO] [stdout]     |                                                ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:328:25
[INFO] [stdout]     |
[INFO] [stdout] 328 |             3 => return NEIGHBOURS[node][3] || NEIGHBOURS[node+MAP_WIDTH][1],
[INFO] [stdout]     |                         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:328:48
[INFO] [stdout]     |
[INFO] [stdout] 328 |             3 => return NEIGHBOURS[node][3] || NEIGHBOURS[node+MAP_WIDTH][1],
[INFO] [stdout]     |                                                ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:328:64
[INFO] [stdout]     |
[INFO] [stdout] 328 |             3 => return NEIGHBOURS[node][3] || NEIGHBOURS[node+MAP_WIDTH][1],
[INFO] [stdout]     |                                                                ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:336:5
[INFO] [stdout]     |
[INFO] [stdout] 336 |     PLAYER == FINISH
[INFO] [stdout]     |     ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:335:1
[INFO] [stdout]     |
[INFO] [stdout] 335 | unsafe fn check_win() ->  bool{
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:336:15
[INFO] [stdout]     |
[INFO] [stdout] 336 |     PLAYER == FINISH
[INFO] [stdout]     |               ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 340 |     TOTAL_MOVES_MADE += 1;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:339:1
[INFO] [stdout]     |
[INFO] [stdout] 339 | unsafe fn move_player(direction: usize){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout] 341 |     if !player_can_move(PLAYER, direction){
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:341:25
[INFO] [stdout]     |
[INFO] [stdout] 341 |     if !player_can_move(PLAYER, direction){
[INFO] [stdout]     |                         ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |         if !SHIFT_ONLY_ON_MOVE && ENABLE_SHIFTS{
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:342:35
[INFO] [stdout]     |
[INFO] [stdout] 342 |         if !SHIFT_ONLY_ON_MOVE && ENABLE_SHIFTS{
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `shift_origin` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:343:13
[INFO] [stdout]     |
[INFO] [stdout] 343 |             shift_origin(SHIFTS);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:343:26
[INFO] [stdout]     |
[INFO] [stdout] 343 |             shift_origin(SHIFTS);
[INFO] [stdout]     |                          ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:348:14
[INFO] [stdout]     |
[INFO] [stdout] 348 |         0 => PLAYER -= 1,
[INFO] [stdout]     |              ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:349:14
[INFO] [stdout]     |
[INFO] [stdout] 349 |         1 => PLAYER -= MAP_WIDTH,
[INFO] [stdout]     |              ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:349:24
[INFO] [stdout]     |
[INFO] [stdout] 349 |         1 => PLAYER -= MAP_WIDTH,
[INFO] [stdout]     |                        ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:350:14
[INFO] [stdout]     |
[INFO] [stdout] 350 |         2 => PLAYER += 1,
[INFO] [stdout]     |              ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:351:14
[INFO] [stdout]     |
[INFO] [stdout] 351 |         3 => PLAYER += MAP_WIDTH,
[INFO] [stdout]     |              ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:351:24
[INFO] [stdout]     |
[INFO] [stdout] 351 |         3 => PLAYER += MAP_WIDTH,
[INFO] [stdout]     |                        ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 354 |     if ENABLE_SHIFTS {
[INFO] [stdout]     |        ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `shift_origin` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |         shift_origin(SHIFTS);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:355:22
[INFO] [stdout]     |
[INFO] [stdout] 355 |         shift_origin(SHIFTS);
[INFO] [stdout]     |                      ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     MOVES_MADE += 1;
[INFO] [stdout]     |     ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:361:17
[INFO] [stdout]     |
[INFO] [stdout] 361 |     for y in 0..MAP_HEIGHT{
[INFO] [stdout]     |                 ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:360:1
[INFO] [stdout]     |
[INFO] [stdout] 360 | unsafe fn generate_starting_board(){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:362:21
[INFO] [stdout]     |
[INFO] [stdout] 362 |         for x in 0..MAP_WIDTH{
[INFO] [stdout]     |                     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:363:34
[INFO] [stdout]     |
[INFO] [stdout] 363 |             let idx: usize = y * MAP_WIDTH + x;
[INFO] [stdout]     |                                  ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:364:20
[INFO] [stdout]     |
[INFO] [stdout] 364 |             if x < MAP_WIDTH-1{
[INFO] [stdout]     |                    ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `f1` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:365:17
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 f1(idx, idx+1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:366:26
[INFO] [stdout]     |
[INFO] [stdout] 366 |             }else if y < MAP_HEIGHT-1{
[INFO] [stdout]     |                          ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `f1` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:367:17
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 f1(idx, idx+MAP_WIDTH);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:367:29
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 f1(idx, idx+MAP_WIDTH);
[INFO] [stdout]     |                             ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:374:8
[INFO] [stdout]     |
[INFO] [stdout] 374 |     if ENABLE_DEBUG {
[INFO] [stdout]     |        ^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:373:1
[INFO] [stdout]     |
[INFO] [stdout] 373 | unsafe fn print_options(){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:375:41
[INFO] [stdout]     |
[INFO] [stdout] 375 |         println!("Shifts per move: {}", SHIFTS);
[INFO] [stdout]     |                                         ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:376:40
[INFO] [stdout]     |
[INFO] [stdout] 376 |         println!("Shifts enabled: {}", ENABLE_SHIFTS);
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:377:50
[INFO] [stdout]     |
[INFO] [stdout] 377 |         println!("Shift only on legal move: {}", SHIFT_ONLY_ON_MOVE);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:385:8
[INFO] [stdout]     |
[INFO] [stdout] 385 |     if ENABLE_INSTRUCTIONS {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:403:17
[INFO] [stdout]     |
[INFO] [stdout] 403 |     for y in 0..MAP_HEIGHT {
[INFO] [stdout]     |                 ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 | unsafe fn visualize_board(){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:405:16
[INFO] [stdout]     |
[INFO] [stdout] 405 |             if ENABLE_NODE_NUMBERS{
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:406:30
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 for _ in  0..MAP_WIDTH*4+1{
[INFO] [stdout]     |                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:410:30
[INFO] [stdout]     |
[INFO] [stdout] 410 |                 for _ in  0..MAP_WIDTH*3+1{
[INFO] [stdout]     |                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:416:12
[INFO] [stdout]     |
[INFO] [stdout] 416 |         if NEIGHBOURS[y*MAP_WIDTH][0] {
[INFO] [stdout]     |            ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:416:25
[INFO] [stdout]     |
[INFO] [stdout] 416 |         if NEIGHBOURS[y*MAP_WIDTH][0] {
[INFO] [stdout]     |                         ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 |         for x in 0..MAP_WIDTH {
[INFO] [stdout]     |                     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:423:34
[INFO] [stdout]     |
[INFO] [stdout] 423 |             let idx: usize = y * MAP_WIDTH + x;
[INFO] [stdout]     |                                  ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:424:30
[INFO] [stdout]     |
[INFO] [stdout] 424 |             let fmt_idx = if ENABLE_NODE_NUMBERS {format!("{:0>3}", idx)} else {format!("{: >2}", "")};
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:427:17
[INFO] [stdout]     |
[INFO] [stdout] 427 |                 ENABLE_SHADOWS && 
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:428:17
[INFO] [stdout]     |
[INFO] [stdout] 428 |                 DISTANCES[idx] > VIEW_DISTANCE
[INFO] [stdout]     |                 ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:428:34
[INFO] [stdout]     |
[INFO] [stdout] 428 |                 DISTANCES[idx] > VIEW_DISTANCE
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:430:27
[INFO] [stdout]     |
[INFO] [stdout] 430 |                 if x+1 == MAP_WIDTH {
[INFO] [stdout]     |                           ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:434:20
[INFO] [stdout]     |
[INFO] [stdout] 434 |                 if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:434:40
[INFO] [stdout]     |
[INFO] [stdout] 434 |                 if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{
[INFO] [stdout]     |                                        ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:434:59
[INFO] [stdout]     |
[INFO] [stdout] 434 |                 if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:443:16
[INFO] [stdout]     |
[INFO] [stdout] 443 |             if player_can_move(idx, 2) //NEIGHBOURS[idx][2] 
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:445:25
[INFO] [stdout]     |
[INFO] [stdout] 445 |             else if x < MAP_WIDTH-1 && player_can_move(idx+1, 0) //NEIGHBOURS[idx+1][0] 
[INFO] [stdout]     |                         ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:445:40
[INFO] [stdout]     |
[INFO] [stdout] 445 |             else if x < MAP_WIDTH-1 && player_can_move(idx+1, 0) //NEIGHBOURS[idx+1][0] 
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:447:20
[INFO] [stdout]     |
[INFO] [stdout] 447 |             if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH
[INFO] [stdout]     |                    ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:447:35
[INFO] [stdout]     |
[INFO] [stdout] 447 |             if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH
[INFO] [stdout]     |                                   ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:447:48
[INFO] [stdout]     |
[INFO] [stdout] 447 |             if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH
[INFO] [stdout]     |                                                ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:447:63
[INFO] [stdout]     |
[INFO] [stdout] 447 |             if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:447:90
[INFO] [stdout]     |
[INFO] [stdout] 447 |             if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH
[INFO] [stdout]     |                                                                                          ^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:450:27
[INFO] [stdout]     |
[INFO] [stdout] 450 |                 if idx == PLAYER {"\x1b[42m"}
[INFO] [stdout]     |                           ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:451:32
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 else if idx == ORIGIN && ENABLE_ORIGIN {"\x1b[44m"}
[INFO] [stdout]     |                                ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:451:42
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 else if idx == ORIGIN && ENABLE_ORIGIN {"\x1b[44m"}
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:452:32
[INFO] [stdout]     |
[INFO] [stdout] 452 |                 else if idx == FINISH && ENABLE_FINISH {"\x1b[45m"}
[INFO] [stdout]     |                                ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:452:42
[INFO] [stdout]     |
[INFO] [stdout] 452 |                 else if idx == FINISH && ENABLE_FINISH {"\x1b[45m"}
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:453:25
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 else if PATH[idx] && ENABLE_PATH {"\x1b[43m"}
[INFO] [stdout]     |                         ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:453:38
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 else if PATH[idx] && ENABLE_PATH {"\x1b[43m"}
[INFO] [stdout]     |                                      ^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:456:27
[INFO] [stdout]     |
[INFO] [stdout] 456 |                    idx == PLAYER ||
[INFO] [stdout]     |                           ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:457:28
[INFO] [stdout]     |
[INFO] [stdout] 457 |                    (idx == ORIGIN && ENABLE_ORIGIN)||
[INFO] [stdout]     |                            ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:457:38
[INFO] [stdout]     |
[INFO] [stdout] 457 |                    (idx == ORIGIN && ENABLE_ORIGIN)||
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:458:29
[INFO] [stdout]     |
[INFO] [stdout] 458 |                    (idx  == FINISH && ENABLE_FINISH) || 
[INFO] [stdout]     |                             ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:458:39
[INFO] [stdout]     |
[INFO] [stdout] 458 |                    (idx  == FINISH && ENABLE_FINISH) || 
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:459:21
[INFO] [stdout]     |
[INFO] [stdout] 459 |                    (PATH[idx] && ENABLE_PATH)
[INFO] [stdout]     |                     ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:459:34
[INFO] [stdout]     |
[INFO] [stdout] 459 |                    (PATH[idx] && ENABLE_PATH)
[INFO] [stdout]     |                                  ^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:465:21
[INFO] [stdout]     |
[INFO] [stdout] 465 |         for x in 0..MAP_WIDTH {
[INFO] [stdout]     |                     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:466:34
[INFO] [stdout]     |
[INFO] [stdout] 466 |             let idx: usize = y * MAP_WIDTH + x;
[INFO] [stdout]     |                                  ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:468:37
[INFO] [stdout]     |
[INFO] [stdout] 468 | ...   let mut connection = if ENABLE_NODE_NUMBERS {format!("\x1b[41m{: >3}\x1b[0m", "")} else {format!("\x1b[41m{: >2}\x1b[0m", "")...
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:471:17
[INFO] [stdout]     |
[INFO] [stdout] 471 |                 ENABLE_SHADOWS && 
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:472:17
[INFO] [stdout]     |
[INFO] [stdout] 472 |                 DISTANCES[idx] > VIEW_DISTANCE && 
[INFO] [stdout]     |                 ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:472:34
[INFO] [stdout]     |
[INFO] [stdout] 472 |                 DISTANCES[idx] > VIEW_DISTANCE && 
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:473:19
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE)
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:473:39
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE)
[INFO] [stdout]     |                                       ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:473:53
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE)
[INFO] [stdout]     |                                                     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:473:66
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE)
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:475:27
[INFO] [stdout]     |
[INFO] [stdout] 475 |                 if y+1 == MAP_HEIGHT {
[INFO] [stdout]     |                           ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:476:24
[INFO] [stdout]     |
[INFO] [stdout] 476 |                     if ENABLE_NODE_NUMBERS {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:483:27
[INFO] [stdout]     |
[INFO] [stdout] 483 |                 if x+1 == MAP_WIDTH {
[INFO] [stdout]     |                           ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:486:20
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:486:40
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{
[INFO] [stdout]     |                                        ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:486:59
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:489:20
[INFO] [stdout]     |
[INFO] [stdout] 489 |                 if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:489:40
[INFO] [stdout]     |
[INFO] [stdout] 489 |                 if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:489:62
[INFO] [stdout]     |
[INFO] [stdout] 489 |                 if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{
[INFO] [stdout]     |                                                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:489:78
[INFO] [stdout]     |
[INFO] [stdout] 489 |                 if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{
[INFO] [stdout]     |                                                                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:489:91
[INFO] [stdout]     |
[INFO] [stdout] 489 |                 if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:492:20
[INFO] [stdout]     |
[INFO] [stdout] 492 |                 if ENABLE_NODE_NUMBERS {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `origin_shifter` (bin "origin_shifter") due to 1 previous error; 242 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:500:16
[INFO] [stdout]     |
[INFO] [stdout] 500 |             if NEIGHBOURS[idx][3] 
[INFO] [stdout]     |                ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:502:17
[INFO] [stdout]     |
[INFO] [stdout] 502 |             {if ENABLE_NODE_NUMBERS {connection = format!("{: >3}", "");}else{connection = format!("{: >2}", "");}}
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:503:25
[INFO] [stdout]     |
[INFO] [stdout] 503 |             else if y < MAP_HEIGHT-1 && NEIGHBOURS[idx+MAP_WIDTH][1] 
[INFO] [stdout]     |                         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:503:41
[INFO] [stdout]     |
[INFO] [stdout] 503 |             else if y < MAP_HEIGHT-1 && NEIGHBOURS[idx+MAP_WIDTH][1] 
[INFO] [stdout]     |                                         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:503:56
[INFO] [stdout]     |
[INFO] [stdout] 503 |             else if y < MAP_HEIGHT-1 && NEIGHBOURS[idx+MAP_WIDTH][1] 
[INFO] [stdout]     |                                                        ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:504:17
[INFO] [stdout]     |
[INFO] [stdout] 504 |             {if ENABLE_NODE_NUMBERS {connection = format!("{: >3}", "");}else{connection = format!("{: >2}", "");}}
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:505:20
[INFO] [stdout]     |
[INFO] [stdout] 505 |             if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH
[INFO] [stdout]     |                    ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:505:36
[INFO] [stdout]     |
[INFO] [stdout] 505 |             if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH
[INFO] [stdout]     |                                    ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:505:49
[INFO] [stdout]     |
[INFO] [stdout] 505 |             if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH
[INFO] [stdout]     |                                                 ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:505:58
[INFO] [stdout]     |
[INFO] [stdout] 505 |             if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH
[INFO] [stdout]     |                                                          ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:505:72
[INFO] [stdout]     |
[INFO] [stdout] 505 |             if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:505:99
[INFO] [stdout]     |
[INFO] [stdout] 505 |             if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH
[INFO] [stdout]     |                                                                                                   ^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:506:17
[INFO] [stdout]     |
[INFO] [stdout] 506 | ...   {if ENABLE_NODE_NUMBERS {connection = format!("\x1b[43m{: >3}\x1b[0m", "");} else {connection = format!("\x1b[43m{: >2}\x1b[0...
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:514:15
[INFO] [stdout]     |
[INFO] [stdout] 514 |     if node % MAP_WIDTH == 0 && direction == 0 {return false;}
[INFO] [stdout]     |               ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:513:1
[INFO] [stdout]     |
[INFO] [stdout] 513 | unsafe fn can_move(node: usize, direction: usize) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:515:20
[INFO] [stdout]     |
[INFO] [stdout] 515 |     else if node % MAP_WIDTH == MAP_WIDTH-1 && direction == 2 {return false;}
[INFO] [stdout]     |                    ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:515:33
[INFO] [stdout]     |
[INFO] [stdout] 515 |     else if node % MAP_WIDTH == MAP_WIDTH-1 && direction == 2 {return false;}
[INFO] [stdout]     |                                 ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:516:58
[INFO] [stdout]     |
[INFO] [stdout] 516 |     else if i32::try_from(node).unwrap() - i32::try_from(MAP_WIDTH).unwrap() < 0 && direction == 1 {return false;}
[INFO] [stdout]     |                                                          ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:517:58
[INFO] [stdout]     |
[INFO] [stdout] 517 |     else if i32::try_from(node).unwrap() + i32::try_from(MAP_WIDTH).unwrap() >= i32::try_from(MAP_WIDTH*MAP_HEIGHT).unwrap() && dir...
[INFO] [stdout]     |                                                          ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:517:95
[INFO] [stdout]     |
[INFO] [stdout] 517 |     else if i32::try_from(node).unwrap() + i32::try_from(MAP_WIDTH).unwrap() >= i32::try_from(MAP_WIDTH*MAP_HEIGHT).unwrap() && dir...
[INFO] [stdout]     |                                                                                               ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:517:105
[INFO] [stdout]     |
[INFO] [stdout] 517 | ...(MAP_WIDTH).unwrap() >= i32::try_from(MAP_WIDTH*MAP_HEIGHT).unwrap() && direction == 3 {return false;}
[INFO] [stdout]     |                                                    ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:554:9
[INFO] [stdout]     |
[INFO] [stdout] 554 |         NEIGHBOURS[origin][0] = true;
[INFO] [stdout]     |         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:552:1
[INFO] [stdout]     |
[INFO] [stdout] 552 | unsafe fn f1(origin: usize, destination: usize){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:555:36
[INFO] [stdout]     |
[INFO] [stdout] 555 |     }else if origin == destination+MAP_WIDTH {
[INFO] [stdout]     |                                    ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:556:9
[INFO] [stdout]     |
[INFO] [stdout] 556 |         NEIGHBOURS[origin][1] = true;
[INFO] [stdout]     |         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:558:9
[INFO] [stdout]     |
[INFO] [stdout] 558 |         NEIGHBOURS[origin][2] = true;
[INFO] [stdout]     |         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:559:36
[INFO] [stdout]     |
[INFO] [stdout] 559 |     }else if origin == destination-MAP_WIDTH{
[INFO] [stdout]     |                                    ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:560:9
[INFO] [stdout]     |
[INFO] [stdout] 560 |         NEIGHBOURS[origin][3] = true;
[INFO] [stdout]     |         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0133, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rand::distributions`
[INFO] [stdout]  --> src/main.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::distributions::{Distribution, Uniform};
[INFO] [stdout]   |           ^^^^^^^^^^^^^ could not find `distributions` in `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     OPATH.push(a);
[INFO] [stdout]     |     ^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | unsafe fn dfs(a: usize) -> bool{
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     PATH[a] = true;
[INFO] [stdout]     |     ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 |     VISITED[a] = true;
[INFO] [stdout]     |     ^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |     if a == PLAYER {return true;};
[INFO] [stdout]     |             ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:194:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |         if !player_can_move(a, direction){continue;}
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:198:20
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 if VISITED[a-1] {continue;}
[INFO] [stdout]     |                    ^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:199:21
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 if !dfs(a-1) {PATH[a-1] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                     ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:199:31
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 if !dfs(a-1) {PATH[a-1] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                               ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:199:50
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 if !dfs(a-1) {PATH[a-1] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                                  ^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:202:20
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 if VISITED[a-MAP_WIDTH] {continue;}
[INFO] [stdout]     |                    ^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:202:30
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 if VISITED[a-MAP_WIDTH] {continue;}
[INFO] [stdout]     |                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:203:21
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:203:27
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                           ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:203:39
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                       ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:203:46
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:203:66
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 if !dfs(a-MAP_WIDTH) {PATH[a-MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                                                  ^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:206:20
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 if VISITED[a+1] {continue;}
[INFO] [stdout]     |                    ^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:207:21
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 if !dfs(a+1) {PATH[a+1] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                     ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:207:31
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 if !dfs(a+1) {PATH[a+1] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                               ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:207:50
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 if !dfs(a+1) {PATH[a+1] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                                  ^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:210:20
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 if VISITED[a+MAP_WIDTH] {continue;}
[INFO] [stdout]     |                    ^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:210:30
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 if VISITED[a+MAP_WIDTH] {continue;}
[INFO] [stdout]     |                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:211:21
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:211:27
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                           ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:211:39
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                       ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:211:46
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:211:66
[INFO] [stdout]     |
[INFO] [stdout] 211 |                 if !dfs(a+MAP_WIDTH) {PATH[a+MAP_WIDTH] = false; OPATH.pop();} else {return true;}
[INFO] [stdout]     |                                                                  ^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     DISTANCES[a] = distance;
[INFO] [stdout]     |     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | unsafe fn distances(a: usize, distance: usize){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     DVISITED[a] = true;
[INFO] [stdout]     |     ^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |         if !player_can_move(a, direction){continue;}
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:229:20
[INFO] [stdout]     |
[INFO] [stdout] 229 |                 if DVISITED[a-1] {continue;}
[INFO] [stdout]     |                    ^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:230:17
[INFO] [stdout]     |
[INFO] [stdout] 230 |                 distances(a-1, distance+1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:233:20
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 if DVISITED[a-MAP_WIDTH] {continue;}
[INFO] [stdout]     |                    ^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:233:31
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 if DVISITED[a-MAP_WIDTH] {continue;}
[INFO] [stdout]     |                               ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:234:17
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 distances(a-MAP_WIDTH, distance+1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:234:29
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 distances(a-MAP_WIDTH, distance+1);
[INFO] [stdout]     |                             ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:237:20
[INFO] [stdout]     |
[INFO] [stdout] 237 |                 if DVISITED[a+1] {continue;}
[INFO] [stdout]     |                    ^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 distances(a+1, distance+1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:241:20
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 if DVISITED[a+MAP_WIDTH] {continue;}
[INFO] [stdout]     |                    ^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:241:31
[INFO] [stdout]     |
[INFO] [stdout] 241 |                 if DVISITED[a+MAP_WIDTH] {continue;}
[INFO] [stdout]     |                               ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `distances` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:242:17
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 distances(a+MAP_WIDTH, distance+1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:242:29
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 distances(a+MAP_WIDTH, distance+1);
[INFO] [stdout]     |                             ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:253:23
[INFO] [stdout]     |
[INFO] [stdout] 253 |         Ok(KEY_W) => {move_player(1);},
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:249:1
[INFO] [stdout]     |
[INFO] [stdout] 249 | unsafe fn pause() {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:254:23
[INFO] [stdout]     |
[INFO] [stdout] 254 |         Ok(KEY_S) => {move_player(3);},
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:255:23
[INFO] [stdout]     |
[INFO] [stdout] 255 |         Ok(KEY_A) => {move_player(0);},
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `move_player` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:256:23
[INFO] [stdout]     |
[INFO] [stdout] 256 |         Ok(KEY_D) => {move_player(2);},
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:257:22
[INFO] [stdout]     |
[INFO] [stdout] 257 |         Ok(KEY_N) => ENABLE_NODE_NUMBERS = !ENABLE_NODE_NUMBERS,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:257:45
[INFO] [stdout]     |
[INFO] [stdout] 257 |         Ok(KEY_N) => ENABLE_NODE_NUMBERS = !ENABLE_NODE_NUMBERS,
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:258:22
[INFO] [stdout]     |
[INFO] [stdout] 258 |         Ok(KEY_P) => ENABLE_PATH = !ENABLE_PATH,
[INFO] [stdout]     |                      ^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:258:37
[INFO] [stdout]     |
[INFO] [stdout] 258 |         Ok(KEY_P) => ENABLE_PATH = !ENABLE_PATH,
[INFO] [stdout]     |                                     ^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:259:22
[INFO] [stdout]     |
[INFO] [stdout] 259 |         Ok(KEY_F) => ENABLE_FINISH = !ENABLE_FINISH,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:259:39
[INFO] [stdout]     |
[INFO] [stdout] 259 |         Ok(KEY_F) => ENABLE_FINISH = !ENABLE_FINISH,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:260:22
[INFO] [stdout]     |
[INFO] [stdout] 260 |         Ok(KEY_O) => ENABLE_ORIGIN = !ENABLE_ORIGIN,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:260:39
[INFO] [stdout]     |
[INFO] [stdout] 260 |         Ok(KEY_O) => ENABLE_ORIGIN = !ENABLE_ORIGIN,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:261:25
[INFO] [stdout]     |
[INFO] [stdout] 261 |         Ok(KEY_I) => if SHIFTS+1<=usize::MAX {SHIFTS+=1;},
[INFO] [stdout]     |                         ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:261:47
[INFO] [stdout]     |
[INFO] [stdout] 261 |         Ok(KEY_I) => if SHIFTS+1<=usize::MAX {SHIFTS+=1;},
[INFO] [stdout]     |                                               ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:262:25
[INFO] [stdout]     |
[INFO] [stdout] 262 |         Ok(KEY_U) => if SHIFTS-1>=1 {SHIFTS-=1;},
[INFO] [stdout]     |                         ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:262:38
[INFO] [stdout]     |
[INFO] [stdout] 262 |         Ok(KEY_U) => if SHIFTS-1>=1 {SHIFTS-=1;},
[INFO] [stdout]     |                                      ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:263:22
[INFO] [stdout]     |
[INFO] [stdout] 263 |         Ok(KEY_Z) => ENABLE_SHIFTS = !ENABLE_SHIFTS,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:263:39
[INFO] [stdout]     |
[INFO] [stdout] 263 |         Ok(KEY_Z) => ENABLE_SHIFTS = !ENABLE_SHIFTS,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:264:22
[INFO] [stdout]     |
[INFO] [stdout] 264 |         Ok(KEY_X) => SHIFT_ONLY_ON_MOVE = !SHIFT_ONLY_ON_MOVE,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:264:44
[INFO] [stdout]     |
[INFO] [stdout] 264 |         Ok(KEY_X) => SHIFT_ONLY_ON_MOVE = !SHIFT_ONLY_ON_MOVE,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:265:22
[INFO] [stdout]     |
[INFO] [stdout] 265 |         Ok(KEY_K) => ENABLE_SHADOWS = !ENABLE_SHADOWS,
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:265:40
[INFO] [stdout]     |
[INFO] [stdout] 265 |         Ok(KEY_K) => ENABLE_SHADOWS = !ENABLE_SHADOWS,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 271 |     MAP_WIDTH  = width;
[INFO] [stdout]     |     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:270:1
[INFO] [stdout]     |
[INFO] [stdout] 270 | unsafe fn initialize(width: usize, height: usize) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:272:5
[INFO] [stdout]     |
[INFO] [stdout] 272 |     MAP_HEIGHT = height;
[INFO] [stdout]     |     ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 274 |     NEIGHBOURS = vec![[false; 4]; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |     ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:274:35
[INFO] [stdout]     |
[INFO] [stdout] 274 |     NEIGHBOURS = vec![[false; 4]; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                   ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:274:45
[INFO] [stdout]     |
[INFO] [stdout] 274 |     NEIGHBOURS = vec![[false; 4]; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                             ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 |     PATH       = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |     ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:275:30
[INFO] [stdout]     |
[INFO] [stdout] 275 |     PATH       = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:275:40
[INFO] [stdout]     |
[INFO] [stdout] 275 |     PATH       = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                        ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 |     VISITED    = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |     ^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:276:30
[INFO] [stdout]     |
[INFO] [stdout] 276 |     VISITED    = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:276:40
[INFO] [stdout]     |
[INFO] [stdout] 276 |     VISITED    = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                        ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 |     PLAYER = 0;
[INFO] [stdout]     |     ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:279:5
[INFO] [stdout]     |
[INFO] [stdout] 279 |     ORIGIN = MAP_WIDTH*MAP_HEIGHT-1;
[INFO] [stdout]     |     ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:279:14
[INFO] [stdout]     |
[INFO] [stdout] 279 |     ORIGIN = MAP_WIDTH*MAP_HEIGHT-1;
[INFO] [stdout]     |              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:279:24
[INFO] [stdout]     |
[INFO] [stdout] 279 |     ORIGIN = MAP_WIDTH*MAP_HEIGHT-1;
[INFO] [stdout]     |                        ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 280 |     FINISH = MAP_WIDTH*MAP_HEIGHT-1;
[INFO] [stdout]     |     ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:280:14
[INFO] [stdout]     |
[INFO] [stdout] 280 |     FINISH = MAP_WIDTH*MAP_HEIGHT-1;
[INFO] [stdout]     |              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:280:24
[INFO] [stdout]     |
[INFO] [stdout] 280 |     FINISH = MAP_WIDTH*MAP_HEIGHT-1;
[INFO] [stdout]     |                        ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     OPATH = Vec::new();
[INFO] [stdout]     |     ^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:283:5
[INFO] [stdout]     |
[INFO] [stdout] 283 |     PATH = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |     ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:283:24
[INFO] [stdout]     |
[INFO] [stdout] 283 |     PATH = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                        ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:283:34
[INFO] [stdout]     |
[INFO] [stdout] 283 |     PATH = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                  ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |     ^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:284:27
[INFO] [stdout]     |
[INFO] [stdout] 284 |     VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                           ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:284:37
[INFO] [stdout]     |
[INFO] [stdout] 284 |     VISITED = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                     ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:285:5
[INFO] [stdout]     |
[INFO] [stdout] 285 |     DVISITED = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |     ^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:285:28
[INFO] [stdout]     |
[INFO] [stdout] 285 |     DVISITED = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                            ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:285:38
[INFO] [stdout]     |
[INFO] [stdout] 285 |     DVISITED = vec![false; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                      ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     DISTANCES = vec![usize::MAX; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:286:34
[INFO] [stdout]     |
[INFO] [stdout] 286 |     DISTANCES = vec![usize::MAX; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                  ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:286:44
[INFO] [stdout]     |
[INFO] [stdout] 286 |     DISTANCES = vec![usize::MAX; MAP_WIDTH*MAP_HEIGHT];
[INFO] [stdout]     |                                            ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 291 |     MAP = content.lines().map(|line| line.chars().collect()).collect();
[INFO] [stdout]     |     ^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:289:1
[INFO] [stdout]     |
[INFO] [stdout] 289 | unsafe fn load_maze_from_file(file_path: String){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `initialize` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:293:5
[INFO] [stdout]     |
[INFO] [stdout] 293 |     initialize((MAP[0].len()-1)/2, (MAP.len()-1)/2);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:293:17
[INFO] [stdout]     |
[INFO] [stdout] 293 |     initialize((MAP[0].len()-1)/2, (MAP.len()-1)/2);
[INFO] [stdout]     |                 ^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:293:37
[INFO] [stdout]     |
[INFO] [stdout] 293 |     initialize((MAP[0].len()-1)/2, (MAP.len()-1)/2);
[INFO] [stdout]     |                                     ^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `parse_neighbours` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:294:5
[INFO] [stdout]     |
[INFO] [stdout] 294 |     parse_neighbours();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |     for h in 0..MAP_HEIGHT {
[INFO] [stdout]     |                 ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:298:1
[INFO] [stdout]     |
[INFO] [stdout] 298 | unsafe fn parse_neighbours(){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:300:21
[INFO] [stdout]     |
[INFO] [stdout] 300 |         for w in 0..MAP_WIDTH {
[INFO] [stdout]     |                     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:301:29
[INFO] [stdout]     |
[INFO] [stdout] 301 |             let index = h * MAP_WIDTH + w;
[INFO] [stdout]     |                             ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:306:34
[INFO] [stdout]     |
[INFO] [stdout] 306 |             if maze_w - 1 > 0 && MAP[maze_h][maze_w-1] == '.' {
[INFO] [stdout]     |                                  ^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:307:17
[INFO] [stdout]     |
[INFO] [stdout] 307 |                 NEIGHBOURS[index][0] = true;
[INFO] [stdout]     |                 ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:309:34
[INFO] [stdout]     |
[INFO] [stdout] 309 |             if maze_h - 1 > 0 && MAP[maze_h-1][maze_w] == '.' {
[INFO] [stdout]     |                                  ^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:310:17
[INFO] [stdout]     |
[INFO] [stdout] 310 |                 NEIGHBOURS[index][1] = true;
[INFO] [stdout]     |                 ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:312:29
[INFO] [stdout]     |
[INFO] [stdout] 312 |             if maze_w + 1 < MAP_WIDTH*2+1 && MAP[maze_h][maze_w+1] == '.' {
[INFO] [stdout]     |                             ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:312:46
[INFO] [stdout]     |
[INFO] [stdout] 312 |             if maze_w + 1 < MAP_WIDTH*2+1 && MAP[maze_h][maze_w+1] == '.' {
[INFO] [stdout]     |                                              ^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:313:17
[INFO] [stdout]     |
[INFO] [stdout] 313 |                 NEIGHBOURS[index][2] = true;
[INFO] [stdout]     |                 ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:315:29
[INFO] [stdout]     |
[INFO] [stdout] 315 |             if maze_h + 1 > MAP_HEIGHT*2+1 && MAP[maze_h+1][maze_w] == '.' {
[INFO] [stdout]     |                             ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:315:47
[INFO] [stdout]     |
[INFO] [stdout] 315 |             if maze_h + 1 > MAP_HEIGHT*2+1 && MAP[maze_h+1][maze_w] == '.' {
[INFO] [stdout]     |                                               ^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:316:17
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 NEIGHBOURS[index][3] = true;
[INFO] [stdout]     |                 ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:323:8
[INFO] [stdout]     |
[INFO] [stdout] 323 |     if can_move(node, direction) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:322:1
[INFO] [stdout]     |
[INFO] [stdout] 322 | unsafe fn player_can_move(node: usize, direction: usize) -> bool{
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:325:25
[INFO] [stdout]     |
[INFO] [stdout] 325 |             0 => return NEIGHBOURS[node][0] || NEIGHBOURS[node-1][2],
[INFO] [stdout]     |                         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:325:48
[INFO] [stdout]     |
[INFO] [stdout] 325 |             0 => return NEIGHBOURS[node][0] || NEIGHBOURS[node-1][2],
[INFO] [stdout]     |                                                ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:326:25
[INFO] [stdout]     |
[INFO] [stdout] 326 |             1 => return NEIGHBOURS[node][1] || NEIGHBOURS[node-MAP_WIDTH][3],
[INFO] [stdout]     |                         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:326:48
[INFO] [stdout]     |
[INFO] [stdout] 326 |             1 => return NEIGHBOURS[node][1] || NEIGHBOURS[node-MAP_WIDTH][3],
[INFO] [stdout]     |                                                ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:326:64
[INFO] [stdout]     |
[INFO] [stdout] 326 |             1 => return NEIGHBOURS[node][1] || NEIGHBOURS[node-MAP_WIDTH][3],
[INFO] [stdout]     |                                                                ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:327:25
[INFO] [stdout]     |
[INFO] [stdout] 327 |             2 => return NEIGHBOURS[node][2] || NEIGHBOURS[node+1][0],
[INFO] [stdout]     |                         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:327:48
[INFO] [stdout]     |
[INFO] [stdout] 327 |             2 => return NEIGHBOURS[node][2] || NEIGHBOURS[node+1][0],
[INFO] [stdout]     |                                                ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:328:25
[INFO] [stdout]     |
[INFO] [stdout] 328 |             3 => return NEIGHBOURS[node][3] || NEIGHBOURS[node+MAP_WIDTH][1],
[INFO] [stdout]     |                         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:328:48
[INFO] [stdout]     |
[INFO] [stdout] 328 |             3 => return NEIGHBOURS[node][3] || NEIGHBOURS[node+MAP_WIDTH][1],
[INFO] [stdout]     |                                                ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:328:64
[INFO] [stdout]     |
[INFO] [stdout] 328 |             3 => return NEIGHBOURS[node][3] || NEIGHBOURS[node+MAP_WIDTH][1],
[INFO] [stdout]     |                                                                ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:336:5
[INFO] [stdout]     |
[INFO] [stdout] 336 |     PLAYER == FINISH
[INFO] [stdout]     |     ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:335:1
[INFO] [stdout]     |
[INFO] [stdout] 335 | unsafe fn check_win() ->  bool{
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:336:15
[INFO] [stdout]     |
[INFO] [stdout] 336 |     PLAYER == FINISH
[INFO] [stdout]     |               ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 340 |     TOTAL_MOVES_MADE += 1;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:339:1
[INFO] [stdout]     |
[INFO] [stdout] 339 | unsafe fn move_player(direction: usize){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout] 341 |     if !player_can_move(PLAYER, direction){
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:341:25
[INFO] [stdout]     |
[INFO] [stdout] 341 |     if !player_can_move(PLAYER, direction){
[INFO] [stdout]     |                         ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |         if !SHIFT_ONLY_ON_MOVE && ENABLE_SHIFTS{
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:342:35
[INFO] [stdout]     |
[INFO] [stdout] 342 |         if !SHIFT_ONLY_ON_MOVE && ENABLE_SHIFTS{
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `shift_origin` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:343:13
[INFO] [stdout]     |
[INFO] [stdout] 343 |             shift_origin(SHIFTS);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:343:26
[INFO] [stdout]     |
[INFO] [stdout] 343 |             shift_origin(SHIFTS);
[INFO] [stdout]     |                          ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:348:14
[INFO] [stdout]     |
[INFO] [stdout] 348 |         0 => PLAYER -= 1,
[INFO] [stdout]     |              ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:349:14
[INFO] [stdout]     |
[INFO] [stdout] 349 |         1 => PLAYER -= MAP_WIDTH,
[INFO] [stdout]     |              ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:349:24
[INFO] [stdout]     |
[INFO] [stdout] 349 |         1 => PLAYER -= MAP_WIDTH,
[INFO] [stdout]     |                        ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:350:14
[INFO] [stdout]     |
[INFO] [stdout] 350 |         2 => PLAYER += 1,
[INFO] [stdout]     |              ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:351:14
[INFO] [stdout]     |
[INFO] [stdout] 351 |         3 => PLAYER += MAP_WIDTH,
[INFO] [stdout]     |              ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:351:24
[INFO] [stdout]     |
[INFO] [stdout] 351 |         3 => PLAYER += MAP_WIDTH,
[INFO] [stdout]     |                        ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 354 |     if ENABLE_SHIFTS {
[INFO] [stdout]     |        ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `shift_origin` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |         shift_origin(SHIFTS);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:355:22
[INFO] [stdout]     |
[INFO] [stdout] 355 |         shift_origin(SHIFTS);
[INFO] [stdout]     |                      ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:357:5
[INFO] [stdout]     |
[INFO] [stdout] 357 |     MOVES_MADE += 1;
[INFO] [stdout]     |     ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:361:17
[INFO] [stdout]     |
[INFO] [stdout] 361 |     for y in 0..MAP_HEIGHT{
[INFO] [stdout]     |                 ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:360:1
[INFO] [stdout]     |
[INFO] [stdout] 360 | unsafe fn generate_starting_board(){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:362:21
[INFO] [stdout]     |
[INFO] [stdout] 362 |         for x in 0..MAP_WIDTH{
[INFO] [stdout]     |                     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:363:34
[INFO] [stdout]     |
[INFO] [stdout] 363 |             let idx: usize = y * MAP_WIDTH + x;
[INFO] [stdout]     |                                  ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:364:20
[INFO] [stdout]     |
[INFO] [stdout] 364 |             if x < MAP_WIDTH-1{
[INFO] [stdout]     |                    ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `f1` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:365:17
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 f1(idx, idx+1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:366:26
[INFO] [stdout]     |
[INFO] [stdout] 366 |             }else if y < MAP_HEIGHT-1{
[INFO] [stdout]     |                          ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `f1` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:367:17
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 f1(idx, idx+MAP_WIDTH);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:367:29
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 f1(idx, idx+MAP_WIDTH);
[INFO] [stdout]     |                             ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:374:8
[INFO] [stdout]     |
[INFO] [stdout] 374 |     if ENABLE_DEBUG {
[INFO] [stdout]     |        ^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:373:1
[INFO] [stdout]     |
[INFO] [stdout] 373 | unsafe fn print_options(){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:375:41
[INFO] [stdout]     |
[INFO] [stdout] 375 |         println!("Shifts per move: {}", SHIFTS);
[INFO] [stdout]     |                                         ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:376:40
[INFO] [stdout]     |
[INFO] [stdout] 376 |         println!("Shifts enabled: {}", ENABLE_SHIFTS);
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:377:50
[INFO] [stdout]     |
[INFO] [stdout] 377 |         println!("Shift only on legal move: {}", SHIFT_ONLY_ON_MOVE);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:385:8
[INFO] [stdout]     |
[INFO] [stdout] 385 |     if ENABLE_INSTRUCTIONS {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:403:17
[INFO] [stdout]     |
[INFO] [stdout] 403 |     for y in 0..MAP_HEIGHT {
[INFO] [stdout]     |                 ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 | unsafe fn visualize_board(){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:405:16
[INFO] [stdout]     |
[INFO] [stdout] 405 |             if ENABLE_NODE_NUMBERS{
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:406:30
[INFO] [stdout]     |
[INFO] [stdout] 406 |                 for _ in  0..MAP_WIDTH*4+1{
[INFO] [stdout]     |                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:410:30
[INFO] [stdout]     |
[INFO] [stdout] 410 |                 for _ in  0..MAP_WIDTH*3+1{
[INFO] [stdout]     |                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:416:12
[INFO] [stdout]     |
[INFO] [stdout] 416 |         if NEIGHBOURS[y*MAP_WIDTH][0] {
[INFO] [stdout]     |            ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:416:25
[INFO] [stdout]     |
[INFO] [stdout] 416 |         if NEIGHBOURS[y*MAP_WIDTH][0] {
[INFO] [stdout]     |                         ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 |         for x in 0..MAP_WIDTH {
[INFO] [stdout]     |                     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:423:34
[INFO] [stdout]     |
[INFO] [stdout] 423 |             let idx: usize = y * MAP_WIDTH + x;
[INFO] [stdout]     |                                  ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:424:30
[INFO] [stdout]     |
[INFO] [stdout] 424 |             let fmt_idx = if ENABLE_NODE_NUMBERS {format!("{:0>3}", idx)} else {format!("{: >2}", "")};
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:427:17
[INFO] [stdout]     |
[INFO] [stdout] 427 |                 ENABLE_SHADOWS && 
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:428:17
[INFO] [stdout]     |
[INFO] [stdout] 428 |                 DISTANCES[idx] > VIEW_DISTANCE
[INFO] [stdout]     |                 ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:428:34
[INFO] [stdout]     |
[INFO] [stdout] 428 |                 DISTANCES[idx] > VIEW_DISTANCE
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:430:27
[INFO] [stdout]     |
[INFO] [stdout] 430 |                 if x+1 == MAP_WIDTH {
[INFO] [stdout]     |                           ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:434:20
[INFO] [stdout]     |
[INFO] [stdout] 434 |                 if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:434:40
[INFO] [stdout]     |
[INFO] [stdout] 434 |                 if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{
[INFO] [stdout]     |                                        ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:434:59
[INFO] [stdout]     |
[INFO] [stdout] 434 |                 if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:443:16
[INFO] [stdout]     |
[INFO] [stdout] 443 |             if player_can_move(idx, 2) //NEIGHBOURS[idx][2] 
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:445:25
[INFO] [stdout]     |
[INFO] [stdout] 445 |             else if x < MAP_WIDTH-1 && player_can_move(idx+1, 0) //NEIGHBOURS[idx+1][0] 
[INFO] [stdout]     |                         ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:445:40
[INFO] [stdout]     |
[INFO] [stdout] 445 |             else if x < MAP_WIDTH-1 && player_can_move(idx+1, 0) //NEIGHBOURS[idx+1][0] 
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:447:20
[INFO] [stdout]     |
[INFO] [stdout] 447 |             if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH
[INFO] [stdout]     |                    ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:447:35
[INFO] [stdout]     |
[INFO] [stdout] 447 |             if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH
[INFO] [stdout]     |                                   ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:447:48
[INFO] [stdout]     |
[INFO] [stdout] 447 |             if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH
[INFO] [stdout]     |                                                ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:447:63
[INFO] [stdout]     |
[INFO] [stdout] 447 |             if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:447:90
[INFO] [stdout]     |
[INFO] [stdout] 447 |             if x < MAP_WIDTH-1 && PATH[idx] && PATH[idx+1] && player_can_move(idx, 2) && ENABLE_PATH
[INFO] [stdout]     |                                                                                          ^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:450:27
[INFO] [stdout]     |
[INFO] [stdout] 450 |                 if idx == PLAYER {"\x1b[42m"}
[INFO] [stdout]     |                           ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:451:32
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 else if idx == ORIGIN && ENABLE_ORIGIN {"\x1b[44m"}
[INFO] [stdout]     |                                ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:451:42
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 else if idx == ORIGIN && ENABLE_ORIGIN {"\x1b[44m"}
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:452:32
[INFO] [stdout]     |
[INFO] [stdout] 452 |                 else if idx == FINISH && ENABLE_FINISH {"\x1b[45m"}
[INFO] [stdout]     |                                ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:452:42
[INFO] [stdout]     |
[INFO] [stdout] 452 |                 else if idx == FINISH && ENABLE_FINISH {"\x1b[45m"}
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:453:25
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 else if PATH[idx] && ENABLE_PATH {"\x1b[43m"}
[INFO] [stdout]     |                         ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:453:38
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 else if PATH[idx] && ENABLE_PATH {"\x1b[43m"}
[INFO] [stdout]     |                                      ^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:456:27
[INFO] [stdout]     |
[INFO] [stdout] 456 |                    idx == PLAYER ||
[INFO] [stdout]     |                           ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:457:28
[INFO] [stdout]     |
[INFO] [stdout] 457 |                    (idx == ORIGIN && ENABLE_ORIGIN)||
[INFO] [stdout]     |                            ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:457:38
[INFO] [stdout]     |
[INFO] [stdout] 457 |                    (idx == ORIGIN && ENABLE_ORIGIN)||
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:458:29
[INFO] [stdout]     |
[INFO] [stdout] 458 |                    (idx  == FINISH && ENABLE_FINISH) || 
[INFO] [stdout]     |                             ^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:458:39
[INFO] [stdout]     |
[INFO] [stdout] 458 |                    (idx  == FINISH && ENABLE_FINISH) || 
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:459:21
[INFO] [stdout]     |
[INFO] [stdout] 459 |                    (PATH[idx] && ENABLE_PATH)
[INFO] [stdout]     |                     ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:459:34
[INFO] [stdout]     |
[INFO] [stdout] 459 |                    (PATH[idx] && ENABLE_PATH)
[INFO] [stdout]     |                                  ^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:465:21
[INFO] [stdout]     |
[INFO] [stdout] 465 |         for x in 0..MAP_WIDTH {
[INFO] [stdout]     |                     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:466:34
[INFO] [stdout]     |
[INFO] [stdout] 466 |             let idx: usize = y * MAP_WIDTH + x;
[INFO] [stdout]     |                                  ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:468:37
[INFO] [stdout]     |
[INFO] [stdout] 468 | ...   let mut connection = if ENABLE_NODE_NUMBERS {format!("\x1b[41m{: >3}\x1b[0m", "")} else {format!("\x1b[41m{: >2}\x1b[0m", "")...
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:471:17
[INFO] [stdout]     |
[INFO] [stdout] 471 |                 ENABLE_SHADOWS && 
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:472:17
[INFO] [stdout]     |
[INFO] [stdout] 472 |                 DISTANCES[idx] > VIEW_DISTANCE && 
[INFO] [stdout]     |                 ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:472:34
[INFO] [stdout]     |
[INFO] [stdout] 472 |                 DISTANCES[idx] > VIEW_DISTANCE && 
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:473:19
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE)
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:473:39
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE)
[INFO] [stdout]     |                                       ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:473:53
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE)
[INFO] [stdout]     |                                                     ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:473:66
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 !(can_move(idx, 3) && DISTANCES[idx+MAP_WIDTH] < VIEW_DISTANCE)
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:475:27
[INFO] [stdout]     |
[INFO] [stdout] 475 |                 if y+1 == MAP_HEIGHT {
[INFO] [stdout]     |                           ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:476:24
[INFO] [stdout]     |
[INFO] [stdout] 476 |                     if ENABLE_NODE_NUMBERS {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:483:27
[INFO] [stdout]     |
[INFO] [stdout] 483 |                 if x+1 == MAP_WIDTH {
[INFO] [stdout]     |                           ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:486:20
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:486:40
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{
[INFO] [stdout]     |                                        ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:486:59
[INFO] [stdout]     |
[INFO] [stdout] 486 |                 if can_move(idx, 2) && DISTANCES[idx+1] < VIEW_DISTANCE{
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:489:20
[INFO] [stdout]     |
[INFO] [stdout] 489 |                 if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:489:40
[INFO] [stdout]     |
[INFO] [stdout] 489 |                 if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:489:62
[INFO] [stdout]     |
[INFO] [stdout] 489 |                 if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{
[INFO] [stdout]     |                                                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:489:78
[INFO] [stdout]     |
[INFO] [stdout] 489 |                 if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{
[INFO] [stdout]     |                                                                              ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:489:91
[INFO] [stdout]     |
[INFO] [stdout] 489 |                 if can_move(idx, 2) && can_move(idx+1, 3) && DISTANCES[idx+1+MAP_WIDTH] < VIEW_DISTANCE{
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:492:20
[INFO] [stdout]     |
[INFO] [stdout] 492 |                 if ENABLE_NODE_NUMBERS {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:500:16
[INFO] [stdout]     |
[INFO] [stdout] 500 |             if NEIGHBOURS[idx][3] 
[INFO] [stdout]     |                ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:502:17
[INFO] [stdout]     |
[INFO] [stdout] 502 |             {if ENABLE_NODE_NUMBERS {connection = format!("{: >3}", "");}else{connection = format!("{: >2}", "");}}
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:503:25
[INFO] [stdout]     |
[INFO] [stdout] 503 |             else if y < MAP_HEIGHT-1 && NEIGHBOURS[idx+MAP_WIDTH][1] 
[INFO] [stdout]     |                         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:503:41
[INFO] [stdout]     |
[INFO] [stdout] 503 |             else if y < MAP_HEIGHT-1 && NEIGHBOURS[idx+MAP_WIDTH][1] 
[INFO] [stdout]     |                                         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:503:56
[INFO] [stdout]     |
[INFO] [stdout] 503 |             else if y < MAP_HEIGHT-1 && NEIGHBOURS[idx+MAP_WIDTH][1] 
[INFO] [stdout]     |                                                        ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:504:17
[INFO] [stdout]     |
[INFO] [stdout] 504 |             {if ENABLE_NODE_NUMBERS {connection = format!("{: >3}", "");}else{connection = format!("{: >2}", "");}}
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `origin_shifter` (bin "origin_shifter" test) due to 1 previous error; 242 warnings emitted
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:505:20
[INFO] [stdout]     |
[INFO] [stdout] 505 |             if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH
[INFO] [stdout]     |                    ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:505:36
[INFO] [stdout]     |
[INFO] [stdout] 505 |             if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH
[INFO] [stdout]     |                                    ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:505:49
[INFO] [stdout]     |
[INFO] [stdout] 505 |             if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH
[INFO] [stdout]     |                                                 ^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:505:58
[INFO] [stdout]     |
[INFO] [stdout] 505 |             if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH
[INFO] [stdout]     |                                                          ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `player_can_move` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:505:72
[INFO] [stdout]     |
[INFO] [stdout] 505 |             if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:505:99
[INFO] [stdout]     |
[INFO] [stdout] 505 |             if y < MAP_HEIGHT-1 && PATH[idx] && PATH[idx+MAP_WIDTH] && player_can_move(idx, 3) && ENABLE_PATH
[INFO] [stdout]     |                                                                                                   ^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:506:17
[INFO] [stdout]     |
[INFO] [stdout] 506 | ...   {if ENABLE_NODE_NUMBERS {connection = format!("\x1b[43m{: >3}\x1b[0m", "");} else {connection = format!("\x1b[43m{: >2}\x1b[0...
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:514:15
[INFO] [stdout]     |
[INFO] [stdout] 514 |     if node % MAP_WIDTH == 0 && direction == 0 {return false;}
[INFO] [stdout]     |               ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:513:1
[INFO] [stdout]     |
[INFO] [stdout] 513 | unsafe fn can_move(node: usize, direction: usize) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:515:20
[INFO] [stdout]     |
[INFO] [stdout] 515 |     else if node % MAP_WIDTH == MAP_WIDTH-1 && direction == 2 {return false;}
[INFO] [stdout]     |                    ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:515:33
[INFO] [stdout]     |
[INFO] [stdout] 515 |     else if node % MAP_WIDTH == MAP_WIDTH-1 && direction == 2 {return false;}
[INFO] [stdout]     |                                 ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:516:58
[INFO] [stdout]     |
[INFO] [stdout] 516 |     else if i32::try_from(node).unwrap() - i32::try_from(MAP_WIDTH).unwrap() < 0 && direction == 1 {return false;}
[INFO] [stdout]     |                                                          ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:517:58
[INFO] [stdout]     |
[INFO] [stdout] 517 |     else if i32::try_from(node).unwrap() + i32::try_from(MAP_WIDTH).unwrap() >= i32::try_from(MAP_WIDTH*MAP_HEIGHT).unwrap() && dir...
[INFO] [stdout]     |                                                          ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:517:95
[INFO] [stdout]     |
[INFO] [stdout] 517 |     else if i32::try_from(node).unwrap() + i32::try_from(MAP_WIDTH).unwrap() >= i32::try_from(MAP_WIDTH*MAP_HEIGHT).unwrap() && dir...
[INFO] [stdout]     |                                                                                               ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:517:105
[INFO] [stdout]     |
[INFO] [stdout] 517 | ...(MAP_WIDTH).unwrap() >= i32::try_from(MAP_WIDTH*MAP_HEIGHT).unwrap() && direction == 3 {return false;}
[INFO] [stdout]     |                                                    ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:554:9
[INFO] [stdout]     |
[INFO] [stdout] 554 |         NEIGHBOURS[origin][0] = true;
[INFO] [stdout]     |         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/main.rs:552:1
[INFO] [stdout]     |
[INFO] [stdout] 552 | unsafe fn f1(origin: usize, destination: usize){
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:555:36
[INFO] [stdout]     |
[INFO] [stdout] 555 |     }else if origin == destination+MAP_WIDTH {
[INFO] [stdout]     |                                    ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:556:9
[INFO] [stdout]     |
[INFO] [stdout] 556 |         NEIGHBOURS[origin][1] = true;
[INFO] [stdout]     |         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:558:9
[INFO] [stdout]     |
[INFO] [stdout] 558 |         NEIGHBOURS[origin][2] = true;
[INFO] [stdout]     |         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:559:36
[INFO] [stdout]     |
[INFO] [stdout] 559 |     }else if origin == destination-MAP_WIDTH{
[INFO] [stdout]     |                                    ^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: use of mutable static is unsafe and requires unsafe block
[INFO] [stdout]    --> src/main.rs:560:9
[INFO] [stdout]     |
[INFO] [stdout] 560 |         NEIGHBOURS[origin][3] = true;
[INFO] [stdout]     |         ^^^^^^^^^^ use of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable statics can be mutated by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0133, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09", kill_on_drop: false }`
[INFO] [stdout] 8dc075d1c38093cbe7d524282afe194339a09d566f0b77e2322640bf8d42ba09
